****
** Replication File:
**
** "The Relationship between Conspiracy Theory Beliefs and Political Violence"
**
** Published in HKS Misinformation Review
**
** Adam M. Enders, Casey Klofstad, and Joseph E. Uscinski
**
** Analyses executed in Stata/SE 15.1
****

set more off

* Set working directory
cd "/Users/adamenders/Dropbox/Violence and CTs/Data and Code/Replication Materials"

********************************************************************************

****
** October 2012 CCES
****

import delimited "CCES 2012.csv", case(preserve) 


* Conspiratorial thinking
gen con1 = MIA374
replace con1 = . if MIA374 > 5
recode con1 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con2 = MIA379
replace con2 = . if MIA379 > 5
recode con2 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con3 = MIA380
replace con3 = . if MIA380 > 5
recode con3 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con4 = MIA381
replace con4 = . if MIA381 > 5
recode con4 (5=1) (4=2) (3=3) (2=4) (1=5)

factor con1-con4, ipf
alpha con1-con4, gen(conthink)


* Violence
gen violence = (MIA385 * -1) + 6
recode violence (0=.)
	

* Correlations
sem (<- conthink violence), standardize 

clear

********************************************************************************

****
** October 2016 CCES
****

use "CCES16_MIA_OUTPUT_Feb2017.dta"


* Conspiratorial thinking
gen con1 = MIA342a
recode con1 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con2 = MIA342b
recode con2 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con3 = MIA342c
recode con3 (5=1) (4=2) (3=3) (2=4) (1=5)

gen con4 = MIA344b
recode con4 (5=1) (4=2) (3=3) (2=4) (1=5)

factor con1-con4, ipf
alpha con1-con4, gen(conthink)


* Violence
gen violence = (MIA344a * -1) + 6
	

* Correlations
sem (<- conthink violence), standardize 

clear

********************************************************************************

****
** October 2018 CCES
****

use "CCES2018.dta"


* Conspiratorial thinking
gen con1 = MIA330a

gen con2 = MIA330b

gen con3 = MIA330c

gen con4 = MIA330g

factor con1-con4, ipf
alpha con1-con4, gen(conthink)
replace conthink = (conthink * -1) + 6


* Violence
gen violence = (MIA330h * -1) + 6
replace violence = . if violence < 1
	

* Correlations
sem (<- conthink violence), standardize 

clear

********************************************************************************

****
** July 2019 Qualtrics
****

import delimited "July 2019.csv"


* Conspiratorial thinking
gen con1 = (q22_1 * -1) + 6

gen con2 = (q22_2 * -1) + 6

gen con3 = (q22_3 * -1) + 6

gen con4 = (q22_4 * -1) + 6

factor con1-con4, ipf
alpha con1-con4, gen(conthink)


* Violence
gen violence = (v51 * -1) + 6
	

* Correlations
sem (<- conthink violence), standardize 

clear

********************************************************************************

****
** March 2020 Qualtrics
****

import delimited "March 2020.csv"


* Gender (female)
gen female = q1 - 1


* Education
gen edu = q3


* Race
gen white = 0
replace white = 1 if q2_1 == 1

gen black = 0
replace black = 1 if q2_2 == 1

gen hispanic = 0
replace hispanic = 1 if q2_3 == 1


* Age
gen age = 2019 - q5


* Household income
gen income = q4


* Conspiratorial thinking
gen con1 = (q22_1 * -1) + 6

gen con2 = (q22_2 * -1) + 6

gen con3 = (q22_3 * -1) + 6

gen con4 = (q22_4 * -1) + 6

factor con1-con4, ipf
alpha con1-con4, gen(conthink)


* Conspiracy theories
gen jfk = (q48_2 * -1) + 6

gen aliens = (q129_2 * -1) + 6

gen smallgroup = (q129_1 * -1) + 6

gen trumpasset = (q49_1 * -1) + 6


* Dichotomize
foreach v of var jfk-trumpasset{
	gen belief_`v' = 0
	replace belief_`v' = 1 if `v' > 3 & `v' < .
}


* Violence
gen violence = (v52 * -1) + 6
	

* Correlation b/w ACTS and violence (saved in "ACTS Corrs.csv")
sem (<- conthink violence), standardize 


* Save dataset
saveold "March 2020 clean.dta", version(12) replace


clear

********************************************************************************

****
** October 2020 Qualtrics
****

import delimited "October 2020.csv"


* Gender (female)
gen female = q2 - 1


* Education
gen edu = q5


* Race
gen white = 0
replace white = 1 if q3_1 == 1

gen nonwhite = 1
replace nonwhite = 0 if white == 1

gen black = 0
replace black = 1 if q3_2 == 1

gen hispanic = 0
replace hispanic = 1 if q3_3 == 1


* Age
gen age = 2019 - q6 


* Household income
gen income = q4


* Conspiratorial thinking
gen con1 = (q16_1 * -1) + 6

gen con2 = (q16_2 * -1) + 6

gen con3 = (q16_3 * -1) + 6

gen con4 = (q16_4 * -1) + 6

factor con1-con4, ipf
alpha con1-con4, gen(conthink)
mean conthink


* Specific conspiracy beliefs
gen postoffice = (q69_1 * -1) + 6

gen mailin = (q69_2 * -1) + 6

gen believer = (q76_1 * -1) + 6

gen satanic = (q76_2 * -1) + 6

gen battle = (q76_4 * -1) + 6

gen falseflag = (q27_2 * -1) + 6

gen infecttrump = (q83_1 * -1) + 13

gen faking = (q83_2 * -1) + 13

gen arrested = (q76_3 * -1) + 6

gen covercovid = (q83_3 * -1) + 13


* Dichotomize
foreach v of var postoffice-covercovid{
	gen belief_`v' = 0
	replace belief_`v' = 1 if `v' > 3 & `v' < .
}


* Violence
gen violence = (q20_1 * -1) + 6


* Correlation b/w ACTS and violence (saved in "ACTS Corrs.csv")
sem (<- conthink violence), standardize 


* Save dataset
keep female edu white nonwhite black hispanic age income con1 con2 ///
	con3 con4 conthink postoffice mailin believer satanic battle ///
	falseflag infecttrump faking arrested covercovid violence belief_*

saveold "October 2020 clean.dta", version(12) replace


clear

********************************************************************************

****
** May 2021 Qualtrics
****

import delimited "May 2021.csv"


* Gender
gen female = q2 - 1


* Race
gen white = 0
replace white = 1 if q3 == "1"

gen black = 0
replace black = 1 if q3 == "2"
replace black = 1 if q3 == "1,2"
replace black = 1 if q3 == "1,2,3"
replace black = 1 if q3 == "1,2,5"
replace black = 1 if q3 == "2,3"
replace black = 1 if q3 == "2,5"
replace black = 1 if q3 == "2,6"

gen hispanic = 0
replace hispanic = 1 if q3 == "3"
replace hispanic = 1 if q3 == "1,2,3"
replace hispanic = 1 if q3 == "1,3"
replace hispanic = 1 if q3 == "1,3,5"
replace hispanic = 1 if q3 == "2,3"
replace hispanic = 1 if q3 == "3,5"


* Income
gen income = q4


* Education
gen edu = q5


* Age
gen age = 2021 - q6


* Conspiracy thinking
gen con1 = (q28_1 * -1) + 6
gen con2 = (q28_2 * -1) + 6
gen con3 = (q28_3 * -1) + 6
gen con4 = (q28_4 * -1) + 6

factor con1-con4, ipf
alpha con1-con4, gen(conthink)


* AIDS 1
gen aids1 = q11
recode aids1 (1=5) (2=4) (3=3) (4=2) (5=1)
tab aids1


* Clinton provided nukes to Russia 
gen clintonnuke = q20_1
recode clintonnuke (1=5) (2=4) (3=3) (4=2) (5=1)


* Rothschilds
gen rothschilds = q20_2
recode rothschilds (1=5) (2=4) (3=3) (4=2) (5=1)


* Jeffrey Epstein murdered
gen epstein = q21_3
recode epstein (1=5) (2=4) (3=3) (4=2) (5=1)


* One percent
gen onepercent = q66_2
recode onepercent (1=5) (2=4) (3=3) (4=2) (5=1)


* COVID-19 tracking devices
gen tracking = q68_1
recode tracking (1=5) (2=4) (3=3) (4=2) (5=1)


* Republicans steal elections
gen repsteal = q69_1
recode repsteal (1=5) (2=4) (3=3) (4=2) (5=1)


* Bill Gates is behind COVID-19
gen billgates = q69_3
recode billgates (1=5) (2=4) (3=3) (4=2) (5=1)


* FDA preventing public from getting natural cures for cancer 
gen fda = q70_1
recode fda (1=5) (2=4) (3=3) (4=2) (5=1)


* Fluorescent lights bulbs make peple obedient
gen lightbulbs = q71_1
recode lightbulbs (1=5) (2=4) (3=3) (4=2) (5=1)


* Truther
gen truther = q71_2
recode truther (1=5) (2=4) (3=3) (4=2) (5=1)


* Cellphones cause cancer
gen cellphone2 = q71_3
recode cellphone2 (1=5) (2=4) (3=3) (4=2) (5=1)


* George Soros
gen soros = q72_2
recode soros (1=5) (2=4) (3=3) (4=2) (5=1)


* 5G spreads COVID-19
gen cellphone = q68_3
recode cellphone (1=5) (2=4) (3=3) (4=2) (5=1)


* Dichotomize
foreach v of var aids1-cellphone{
	gen belief_`v' = 0
	replace belief_`v' = 1 if `v' > 3 & `v' < .
}


* Violence
gen violence = (q33_1 * -1) + 6


* Correlation b/w ACTS and violence (saved in "ACTS Corrs.csv")
sem (<- conthink violence), standardize 


* Save dataset
saveold "May 2021 clean.dta", version(12) replace


clear

********************************************************************************

****
** May 2022 Qualtrics
****

import delimited "May 2022.csv"


* Gender (female)
gen female = q2 - 1


* Education
gen edu = q6


* Race
gen white = 0
replace white = 1 if q3_1 == 1

gen black = 0
replace black = 1 if q3_2 == 1

gen hispanic = 0
replace hispanic = 1 if q4 == 1


* Age
gen age = 2022 - q7


* Household income
gen income = q5


* Conspiracy thinking
gen few_people=.
replace few_people=1 if ctscale_1==5
replace few_people=2 if ctscale_1==4
replace few_people=3 if ctscale_1==3
replace few_people=4 if ctscale_1==2
replace few_people=5 if ctscale_1==1

gen really_run=.
replace really_run=1 if ctscale_2==5
replace really_run=2 if ctscale_2==4
replace really_run=3 if ctscale_2==3
replace really_run=4 if ctscale_2==2
replace really_run=5 if ctscale_2==1

gen big_events=.
replace big_events=1 if ctscale_3==5
replace big_events=2 if ctscale_3==4
replace big_events=3 if ctscale_3==3
replace big_events=4 if ctscale_3==2
replace big_events=5 if ctscale_3==1

gen secret_plots=.
replace secret_plots=1 if ctscale_4==5
replace secret_plots=2 if ctscale_4==4
replace secret_plots=3 if ctscale_4==3
replace secret_plots=4 if ctscale_4==2
replace secret_plots=5 if ctscale_4==1

alpha few_people-secret_plots, gen(conthink)


* Violence
gen violence = (q99_1 * -1) + 6


* Climate change is a hoax perpetrated by corrupt scientists and politicians. (Q18_1) 
recode q18_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(climatechange)	


* There is a secret "gay agenda" aimed at converting young people into gay and trans lifestyles. (q283_3) 
recode q283_3 (1=5) (2=4) (3=3) (4=2) (5=1), gen(gayagenda)	


* There is a secret agenda in the public schools to indoctrinate children into gay and trans lifestyles. (q17_7) 
recode q17_7 (1=5) (2=4) (3=3) (4=2) (5=1), gen(indoctrinate)	


* The threat of COVID-19 has been exaggerated for political purposes. (COVCONS_1) 
recode covcons_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(cexaggerate)	


* Coronavirus was purposely created and released. (COVCONS_2) 
recode covcons_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(cpurpose)	


* The coronavirus is being used to force a dangerous and unnecessary vaccine on Americans. (COVCONS_3) 
recode covcons_3 (1=5) (2=4) (3=3) (4=2) (5=1), gen(cantivaxx)	


* The COVID-19 vaccine causes infertility in women and the government is covering this up. (q283_1) 
recode q283_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(infertility)	


* The dangers of vaccines are being hidden by the medical establishment. (q17_3) 
recode q17_3 (1=5) (2=4) (3=3) (4=2) (5=1), gen(antivaxx)	


* The dangers of genetically-modified foods are being hidden from the public. (q17_4) 
recode q17_4 (1=5) (2=4) (3=3) (4=2) (5=1), gen(gmos)	


* Corporations secretly poison our food. (q284_1) 
recode q284_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(poison)	


* The number of Jews killed by the Nazis during World War II has been exaggerated on purpose. (q17_2) 
recode q17_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(holocaust)	


* Barack Obama faked his citizenship to become president. (Q18_2) 
recode q18_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(birther)	


* There is a "deep state" embedded in the government that operates in secret and without oversight. (Q20_2) 
recode q20_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(deepstate)	


* Elites, from government and Hollywood, are engaged in a massive child sex trafficking racket. (Q20_3) 
recode q20_3 (1=5) (2=4) (3=3) (4=2) (5=1), gen(hollywood)	


* Powerful politicians and corporate leaders are trying to replace white people in the U.S. with cheaper foreign laborers. (Q26_1) 
recode q26_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(replaceUS)


* White people in Europe are being replaced with cheaper non-white workers because that is what powerful politicians and corporate leaders want. (Q26_2) 
recode q26_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(replaceEU)


* Dichotomize
foreach v of var climatechange-replaceEU{
	gen belief_`v' = 0
	replace belief_`v' = 1 if `v' > 3 & `v' < .
}


* If violence is called for in our politics, I am ready. (Q99_3) 
recode q99_3 (1=5) (2=4) (3=3) (4=2) (5=1), gen(q99_3_flip)	

* Violence is sometimes an acceptable way for Americans to express their disagreement with the government. (Q99_1) 
recode q99_1 (1=5) (2=4) (3=3) (4=2) (5=1), gen(a_violence)	

* If needed to reach important objectives, the use of violence is acceptable. (Q99_2) 
recode q99_2 (1=5) (2=4) (3=3) (4=2) (5=1), gen(q99_2_flip)	

alpha q99_3_flip a_violence q99_2_flip, gen(violence_scale)


* Committed violence for a political cause (Q39_6)
gen b_violence = q39_6


* Correlation b/w ACTS and violence (saved in "ACTS Corrs.csv")
sem (<- conthink violence), standardize 


* Save dataset
saveold "May 2022 clean.dta", version(12) replace


clear
